The present invention relates to digital filters, and especially to a method of using long digital filters in the presence of round-off errors by prescaling the coefficients and then dividing the resultant multiplication of data samples and coefficients by the corresponding prescaling factors.
Generally the design procedures used for designing a finite impulse response (FIR) filter assume infinite precision representation of the filter coefficients. In practice the coefficients are of some limited precision only. The quantization/rounding-off of the coefficients adds some noise in the output signal. This degrades the performance of the filter. The longer the length of the filter, the more the quantization noise. As a result the length of the filter gets limited. This results in accepting inferior specifications of the filter as the length directly controls the pass band ripple, stop band attenuation and transition bandwidth. To avoid this problem some optimization routines, such as integer linear programming, are used to optimally round-off the coefficients. These routines are tedious to use and still do not produce satisfactory performance.
A direct form realization of a FIR filter is shown in FIG. 1. The input signal, output signal and coefficients are denoted by x(n), y(n) and c(m), respectively. The x(n) also contains the signal quantization noise With q.sub.c (m) being the quantization noise in the mth coefficient, the output is given by: ##EQU1## where y.sub.o (n) is the output without the coefficient quantization noise and the summation, d, is over the interval from m=0 to m=N-1, N being the filter length. The second term above contributes to the noise due to the quantization of the coefficients. As the number of coefficients increases, the quantization error increases, putting a limit on the length of the filter and its performance. For an example, let the multipliers be 8.times.8 and the accumulators be 16 bits long. The output of each multiplier is 16 bits long, but due to the rounding off of the coefficients the last 8 bits contain the quantization noise. If the filter has N coefficients, then approximately the last 8+(1/2)log.sub.2 N bits in the output have the quantization noise. Thus if N=16, then only the first 6 bits may have good signal values. In the worst case scenario only the first 4 bits may have noise free values. In FIR filters, especially wideband FIR filters, the coefficients generally are such that only a few of them are large compared to others, as shown in FIG. 2. As the filter length increases, the coefficients in the tail become smaller. The performance, instead of improving, degrades as the filter length is increased.
What is desired is a method of using long digital filters in the presence of round-off errors that does not degrade performance as the filter length is increased.